/*
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 */

/*
 *
 *
 *
 *
 *
 * Copyright (c) 2004 World Wide Web Consortium,
 *
 * (Massachusetts Institute of Technology, European Research Consortium for
 * Informatics and Mathematics, Keio University). All Rights Reserved. This
 * work is distributed under the W3C(r) Software License [1] in the hope that
 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
 */

package org.w3c.dom;

/**
 * <code>DOMErrorHandler</code> is a callback interface that the DOM implementation can call when
 * reporting errors that happens while processing XML data, or when doing some other processing
 * (e.g. validating a document). A <code>DOMErrorHandler</code> object can be attached to a
 * <code>Document</code> using the "error-handler" on the <code>DOMConfiguration</code> interface.
 * If more than one error needs to be reported during an operation, the sequence and numbers of the
 * errors passed to the error handler are implementation dependent. <p> The application that is
 * using the DOM implementation is expected to implement this interface. <p>See also the <a
 * href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level
 * 3 Core Specification</a>.
 *
 * @since DOM Level 3
 */
public interface DOMErrorHandler {

  /**
   * This method is called on the error handler when an error occurs.
   * <br> If an exception is thrown from this method, it is considered to be
   * equivalent of returning <code>true</code>.
   *
   * @param error The error object that describes the error. This object may be reused by the DOM
   * implementation across multiple calls to the <code>handleError</code> method.
   * @return If the <code>handleError</code> method returns <code>false</code>, the DOM
   * implementation should stop the current processing when possible. If the method returns
   * <code>true</code>, the processing may continue depending on <code>DOMError.severity</code>.
   */
  public boolean handleError(DOMError error);

}
